1. The Field of the Invention
The invention relates to methods, devices, and systems for archiving data. Specifically, the invention relates to methods, devices, and systems for managing and conducting fast replication operations within storage sub-systems.
2. The Relevant Art
Data processing systems often work with large amounts of data and require means and methods to manage the storage and archiving of that data. For example, transaction processing systems typically access large databases and log results such as transaction records at a very high rate. The ability to quickly and reliably copy data from one storage area to another enables the deployment of efficient and reliable high-performance processing applications and systems.
Fast replication techniques such as IBM's flashcopy technology have been developed in response to the need for efficient copying mechanisms within high-performance processing systems. A fast replication operation gives the appearance of an instantaneous copy while the actual transfer of data is conducted as a background process, or deferred until the data to be copied is about to be overwritten. With fast replication techniques, applications may conduct data snapshots (point-in-time copies) and continue processing rather than suspending operation while the data transfers occur.
In addition to increased performance, fast replication capable systems simplify the code complexity of I/O intensive processes such as those conducted on large mainframe systems and the like. For example, fast replication techniques relieve applications from error prone memory management and housekeeping tasks. System performance may also be increased in that support for fast replication operations may be provided by low-level drivers and devices that are optimized for performance.
Fast replication capable systems often support multiple concurrent fast replication data transfers. Since the data transfer may be deferred indefinitely, the act of initiating a fast replication operation between a source and a target volume is often referred to as “establishing a fast replication relationship.” Likewise, canceling a pending fast replication transfer may be referred to as “withdrawing a fast replication relationship.”
Without support for fast replication relationships, conducting a point-in-time copy often requires that a system suspend all tasks that access a source and/or target device. Since many systems do not have explicit knowledge of the devices that will be accessed by each task, those systems require suspension of all tasks except for the task conducting the actual fast replication operations. Suspension of the various tasks or processes in order to conduct fast replication operations greatly reduces the performance of multi-tasking systems.
One challenge of fast replication capable systems, particularly those systems capable of establishing multiple simultaneous fast replication relationships on a sub-volume basis, is managing the many relationships that may be involved in creating a snapshot. Multiple applications or utilities may share a core set of data files that may be distributed across multiple volumes. Furthermore, each target volume in a fast replication relationship must be identified previous to establishing a relationship. Requiring each application or system utility to be aware of all the resources and relationships involved in conducting a snapshot creates a logistical nightmare for system administrators, application developers, and users.
What is needed are means and methods for managing and conducting snapshot operations that reduce the programming and administrative burdens associated with snapshot operations, particularly snapshot operations involving data distributed across multiple volumes of a storage subsystem or network.